﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
using Skynet.BusinessEntities;

namespace Skynet.BusinessLogic.BusinessComponents
{
    public enum  QueryOrganizationOptions
    {
        GetAll,
        GetAllByCustomerAdmin
    }
    public enum FindOrganizationOptions
    {
        FindById
    }
    


    [ServiceContract]
    public interface IBCCustomersQueries
    {
        [OperationContract]
        string QueryOrganizations(QueryOrganizationOptions option = QueryOrganizationOptions.GetAll, Guid? CustomerId  = null);

        [OperationContract]
        Organization FindOrganization(FindOrganizationOptions option= FindOrganizationOptions.FindById, Guid? OrganizationId=null);


        [OperationContract]
        IEnumerable<Customer> FindCustomers(CustomerFindOptions option = CustomerFindOptions.GetAll, Guid? id = null, string Name = null, string UserName = null);

        [OperationContract]
        string SearchCustomers(CustomerSearchOption option = CustomerSearchOption.GetAll, Guid? id = null, string Name = null, string UserName = null); 



    }
}
